#pragma once
#include <osg/Camera>
#include <cmath>
#include <math.h>
#include "MYModel.h"
using namespace osg;

class CameraUpdate
{
private:
	static CameraUpdate* instance;
	ref_ptr<Camera> cam;
	bool cameraOrtho;
	int alpha;
	double zoom,r,phi,centreX,centreY;
	void refresh();
	Vec3 eye,center,up;
	float a,b;
	float sc,ss,sb;
	double w,h;
public:

	CameraUpdate(void);
	CameraUpdate(ref_ptr<Camera> cam);
	~CameraUpdate(void);
	void dezoomer();
	void zoomer();
	void changerTypeCamera();
	void augmenteAlpha();
	void decreaseAlpha();
	void resetAlpha();
	static void initInstance(ref_ptr<Camera>);
	static CameraUpdate* getInstance();
};

